#include<my_head.h>

//用户信息
typedef struct client_status{
    char user_name[20];  //用户名
    int user_len;  //用户名长度
    char password[20000]; //密码
    int islogin;  //登录状态
    char  path[2000]; //当前路径
    char path_last[2000];//切割空格后的数据

}client_status;
//命令信息
typedef struct{
  //  User user_inf;
    int mode;           // 1. cd   2. ls   3, puts   4, gets    5,rm     6, pwd
    int size;           //需要的信息个数
    int msg_len;        //传出去的信息长度
    char msg[2000];         //包含ls关键字之后信息和所需要信息的拼接 用&隔开
                      //你们要什么就自行在自己的函数后面拼接
}sendMsg;
typedef struct{
    char statu[200];//是否成功找到 (类似状态码)
    char msg[20000];//返回的信息 依旧是&隔开 客户端自己切割
}recvMsg;


//登录
bool login(int net_fd, client_status clients);
//注销
bool unlogin();

// ls实现逻辑：
// socket 传递 信息到服务端 （send)
//my_ls 等函数 中调用my_send ，函数中填充结构体的信息
//调用send 把结构体信息发到服务器端口
//
bool my_ls(sendMsg msg, client_status clients,int net_fd);

bool my_cd(sendMsg msg, client_status clients, int net_fd);

bool my_rm(sendMsg msg, client_status clients, int net_fd);

bool my_pwd(sendMsg msg, client_status clients, int net_fd);

bool my_gets(sendMsg msg, client_status clients,int net_fd);

bool my_puts(sendMsg msg, client_status clients,int net_fd);
//z传输命令 的信息 fd(socket 文件描述符，)
//发送 对应函数需要给服务端的信息 
//
//bool my_send(){

//}
int getparameter(char *key, char *value);

int add_epoll(int fd_epoll,int fd);
